<?php
class PagosController extends AppController {

	var $name = 'Pagos';
	var $uses = array('ClientsPlan','Client','Plan','Money','Payment');
	
    function beforeFilter () {
        parent::beforeFilter();

    }

	function index() {
        $this->set('title_nav_bar','Estado de Cuentas','Estado de Cuentas');
		
		if (isset($_POST['client_id']) and $_POST['client_id']>0 ) {
			$client_id = $_POST['client_id'];
			$this -> redirect(array('action'=>"view/$client_id"));
			exit();                
		}
		
	}


    function view($client_id=0) {

		if ($client_id==0) {
			$this -> redirect(array('action'=>"/"));
			exit();                
		}
		$this->set('title_nav_bar','Estado de Cuentas','Estado de Cuentas');
		
		
		$this->ClientsPlan->recursive = 2;
		$options   = array('conditions' => array('ClientsPlan.client_id' => "$client_id", 'activo'=>'1') );
		$PlanActivo = $this->ClientsPlan->find('first',$options);
		$this->set('PlanActivo',$PlanActivo);
		
		$Pagos = array();
		
		if (!empty($PlanActivo['ClientsPlan'] ) ) {
			$this->Payment->recursive = 0;
			$options   = array('conditions' => array('Payment.client_id' => "$client_id"),
							   'order'      => array('Payment.periodo_pago'=>'DESC') 
							  );
			$xPagos = $this->Payment->find('all',$options);

			//---------------------------------------------------------------------------------------------
			//              Armo un array con todos los periodos que deberia tener, desde el alta del plan 
			//---------------------------------------------------------------------------------------------
			$periodo = substr($PlanActivo['ClientsPlan']['fecha_alta'],0,7);
			$x = explode('-',$periodo);
			$ano = $x[0];
			$mes = $x[1];
			$periodo_actual = date("Y-m",time());
			$Periodos = array();
			while ($periodo != $periodo_actual) {
				$Periodos[$periodo] = '';
				if ($mes<12) {
					$mes = $mes+1;
				} else {
					$mes = '1';
					$ano = $ano + 1;
				}
				$periodo = substr('0000'.$ano,-4).'-'.substr('00'.$mes,-2);
			}
		
			foreach($xPagos as $xp){
				$periodo_pago = $xp['Payment']['periodo_pago'];
				$Pagos[$periodo_pago]['id']         = $xp['Payment']['id'];
				$Pagos[$periodo_pago]['fecha_pago'] = $xp['Payment']['fecha_pago'];
				$Pagos[$periodo_pago]['importe']    = $xp['Payment']['importe'];
				$Pagos[$periodo_pago]['plan']       = $xp['Plan']['name'];
				$Pagos[$periodo_pago]['moneda']     = $xp['Money']['simbolo'];
				
				if (isset($Periodos[$periodo_pago]) ) { unset($Periodos[$periodo_pago]); }
			}	
			
			if(!empty($Periodos)) {
				foreach($Periodos as $clave=>$valor) {
					$Pagos[$clave]['id']         = 0;
					$Pagos[$clave]['fecha_pago'] = 0;
					$Pagos[$clave]['importe']    = $PlanActivo['Plan']['precio'];
					$Pagos[$clave]['plan']       = $PlanActivo['Plan']['name'];
					$Pagos[$clave]['moneda']     = $PlanActivo['Plan']['Money']['simbolo'];
				
				}
			}
			
			krsort($Pagos);
		}	
		$this->set('Pagos',$Pagos);
		
		
        
    }
}
